home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
TF-CHAT.ZIP
/
XPS-CHAT.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1996-06-13
|
5KB
|
398 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
;------------------------------------------------------------------------------
RdUNet PcbNode()
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "OBV/2 Sysop Chatter by tF[XPS]", ""
If (TokenStr() == Upper("PAGE")) Then
STRING011 = Time()
If ((STRING011 < ReadLine(PPEPath() + "XPS-CHAT.CFG", 4)) || (STRING011 > ReadLine(PPEPath() + "XPS-CHAT.CFG", 5))) Goto LABEL013
Newlines 2
Print "@X0FE@X07n@X08ter @X02c@X0Ah@X0Ea@X0Ft! R@X07e@X08ason:@X07 "
KeyFlush
InputStr "_", STRING002, 15, 57, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ~!#$%^&*()_+|{}:>?`1234567890-=\[];',./", 0
If (STRING002 == "") Goto LABEL002
PageOn
Newline
INTEGER001 = 1
Goto LABEL003
:LABEL001
AdjTime MinOn() - INTEGER006
PageOff
:LABEL002
Color 7
Cls
Newline
KeyFlush
KbdStuff Chr(13)
End
:LABEL003
If (KInkey() == " ") Goto LABEL004
Print "@X02c@X0Ah@X0Ea@X0Ft! "
Sound 200
Delay 3
Sound 400
Delay 2
Sound 500
Delay 4
Sound 300
Sound 0
INTEGER001 = INTEGER001 + 1
If (INTEGER001 == 12) Goto LABEL002
Goto LABEL003
Endif
:LABEL004
Cls
Color 15
INTEGER006 = MinOn()
Print "@POFF@@QOFF@"
DispFile PPEPath() + "XPS-CHAT.PCB", 0
AnsiPos 45, 20
Print "@X50" + U_Name() + " "
STRING001 = ReadLine(PPEPath() + "XPS-CHAT.CFG", 1)
STRING009 = ReadLine(PPEPath() + "XPS-CHAT.CFG", 2)
STRING010 = ReadLine(PPEPath() + "XPS-CHAT.CFG", 3)
AnsiPos 7, 20
Print STRING001
INTEGER002 = 4
INTEGER003 = 11
INTEGER004 = 42
INTEGER005 = 11
AnsiPos 4, 11
:LABEL005
STRING003 = KInkey()
STRING004 = MInkey()
If (STRING003 == Chr(27)) Goto LABEL001
If (STRING003 == Chr(13)) Goto LABEL009
If (STRING004 == Chr(13)) Goto LABEL010
If (STRING003 == Chr(8)) Goto LABEL011
If (STRING004 == Chr(8)) Goto LABEL012
If (STRING003 == Chr(5)) Goto LABEL014
If ((((((((((STRING003 == "LEFT") || (STRING003 == "RIGHT")) || (STRING003 == "UP")) || (STRING003 == "DOWN")) || (STRING003 == "INS")) || (STRING003 == "DEL")) || (STRING003 == "HOME")) || (STRING003 == "PGUP")) || (STRING003 == "END")) || (STRING003 == "PGDN")) Then
STRING003 = ""
Endif
If ((((((((((STRING004 == "LEFT") || (STRING004 == "RIGHT")) || (STRING004 == "UP")) || (STRING004 == "DOWN")) || (STRING004 == "INS")) || (STRING004 == "DEL")) || (STRING004 == "HOME")) || (STRING004 == "PGUP")) || (STRING004 == "END")) || (STRING004 == "PGDN")) Then
STRING004 = ""
Endif
If ((Asc(STRING003) < 32) || (Asc(STRING003) > 126)) Then
STRING003 = ""
Endif
If ((Asc(STRING004) < 32) || (Asc(STRING004) > 126)) Then
STRING004 = ""
Endif
If (STRING003 == "") Then
If (STRING004 == "") Then
Goto LABEL005
Endif
If (STRING003 == " ") Then
STRING007 = ""
Goto LABEL006
Endif
STRING007 = STRING007 + STRING003
:LABEL006
AnsiPos INTEGER002, INTEGER003
Print STRING009 + STRING003
Inc INTEGER002
:LABEL007
If (Len(StripAtx(STRING007)) == 15) Then
STRING007 = Right(STRING007, Len(StripAtx(STRING007)) - 1)
Endif
If (INTEGER002 == 38) Then
AnsiPos INTEGER002 - Len(StripAtx(STRING007)), INTEGER003
Print Space(Len(StripAtx(STRING007)))
INTEGER002 = 4
Inc INTEGER003
AnsiPos INTEGER002, INTEGER003
Print STRING007
STRING007 = ""
INTEGER002 = GetX()
INTEGER003 = GetY()
AnsiPos INTEGER002, INTEGER003
Endif
If (INTEGER003 == 18) Then
STRING005 = ScrText(4, 16, 36, 1)
STRING006 = ScrText(4, 17, 36, 1)
STRING007 = ScrText(4, 18, 36, 1)
AnsiPos 4, 11
Print " "
AnsiPos 4, 12
Print " "
AnsiPos 4, 13
Print " "
AnsiPos 4, 14
Print " "
AnsiPos 4, 15
Print " "
AnsiPos 4, 16
Print " "
AnsiPos 4, 17
Print " "
AnsiPos 4, 18
Print " "
AnsiPos 4, 11
Print STRING005
AnsiPos 4, 12
Print STRING006
INTEGER002 = 4
INTEGER003 = 13
AnsiPos INTEGER002, INTEGER003
Print STRING007
INTEGER002 = Len(Strip(STRING007, " "))
INTEGER003 = GetY()
AnsiPos INTEGER002, INTEGER003
STRING007 = ""
Endif
Goto LABEL005
Endif
If (STRING004 == " ") Then
STRING008 = ""
Else
STRING008 = STRING008 + STRING004
Endif
AnsiPos INTEGER004, INTEGER005
Print STRING010 + STRING004
Inc INTEGER004
:LABEL008
If (Len(StripAtx(STRING008)) == 15) Then
STRING008 = Right(STRING008, Len(StripAtx(STRING008)) - 1)
Endif
If (INTEGER004 == 75) Then
AnsiPos INTEGER004 - Len(StripAtx(STRING008)), INTEGER005
Print Space(Len(StripAtx(STRING008)))
INTEGER004 = 42
Inc INTEGER005
AnsiPos INTEGER004, INTEGER005
Print STRING008
STRING008 = ""
INTEGER004 = GetX()
INTEGER005 = GetY()
AnsiPos INTEGER004, INTEGER005
Endif
If (INTEGER005 == 18) Then
STRING005 = ScrText(42, 16, 33, 1)
STRING006 = ScrText(42, 17, 33, 1)
STRING008 = ScrText(42, 18, 33, 1)
AnsiPos 42, 11
Print " "
AnsiPos 42, 12
Print " "
AnsiPos 42, 13
Print " "
AnsiPos 42, 14
Print " "
AnsiPos 42, 15
Print " "
AnsiPos 42, 16
Print " "
AnsiPos 42, 17
Print " "
AnsiPos 42, 18
Print " "
AnsiPos 42, 11
Print STRING005
AnsiPos 42, 12
Print STRING006
INTEGER004 = 42
INTEGER005 = 13
AnsiPos INTEGER004, INTEGER005
Print STRING008
INTEGER004 = 38 + Len(Strip(STRING008, " "))
INTEGER005 = GetY()
AnsiPos INTEGER004, INTEGER005
STRING008 = ""
Endif
Goto LABEL005
:LABEL009
STRING007 = ""
INTEGER002 = 4
Inc INTEGER003
AnsiPos INTEGER002, INTEGER003
Goto LABEL007
:LABEL010
STRING008 = ""
INTEGER004 = 42
Inc INTEGER005
AnsiPos INTEGER004, INTEGER005
Goto LABEL008
:LABEL011
STRING007 = Left(STRING007, Len(StripAtx(STRING007)) - 1)
If (INTEGER002 == 4) Goto LABEL005
Dec INTEGER002
AnsiPos INTEGER002, INTEGER003
Print " "
AnsiPos INTEGER002, INTEGER003
Goto LABEL005
:LABEL012
STRING008 = Left(STRING008, Len(StripAtx(STRING008)) - 1)
If (INTEGER004 == 42) Goto LABEL005
Dec INTEGER004
AnsiPos INTEGER004, INTEGER005
Print " "
AnsiPos INTEGER004, INTEGER005
Goto LABEL005
:LABEL013
Newline
PrintLn "@X08The @X04S@X0Cy@X0Esop @X08is @X0Fbusy @X08.@X07.@X0F.@X07"
Color 7
KeyFlush
KbdStuff Chr(13)
End
:LABEL014
STRING012 = ReadLine(PPEPath() + "XPS-CHAT.CFG", 6)
STRING013 = ReadLine(PPEPath() + "XPS-CHAT.CFG", 7)
If (STRING012 == "") Goto LABEL005
If (!Exist(STRING012)) Goto LABEL005
INTEGER007 = GetX()
INTEGER008 = GetY()
AnsiPos 1, 23
SaveScrn
AnsiPos 1, 23
PrintLn STRING013
DefColor
Tokenize STRING012
Call GetToken()
StartDisp 1
KbdFlush
AnsiPos INTEGER007, INTEGER008
RestScrn
Goto LABEL005
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 2 Cls
; 3 Color
; 41 Goto
; 57 Let
; 35 Print
; 2 PrintLn
; 29 If
; 1 DispFile
; 1 StartDisp
; 1 DefColor
; 1 AdjTime
; 1 InputStr
; 3 Delay
; 6 Inc
; 2 Dec
; 3 Newline
; 1 Newlines
; 1 Tokenize
; 2 KbdStuff
; 1 Call
; 1 RdUNet
; 1 WrUNet
; 44 AnsiPos
; 1 SaveScrn
; 1 RestScrn
; 5 Sound
; 1 PageOn
; 1 PageOff
; 1 KbdFlush
; 3 KeyFlush
;
;
; ■ Functions used :
;
; 16 +
; 7 -
; 43 ==
; 3 <
; 3 >
; 16 !
; 21 ||
; 12 Len(
; 1 Upper()
; 2 Left()
; 2 Right()
; 2 Space()
; 8 Chr()
; 4 Asc()
; 1 Time()
; 1 U_Name()
; 10 StripAtx()
; 2 Strip()
; 8 PPEPath()
; 2 PcbNode()
; 7 ReadLine()
; 1 UN_Name()
; 1 UN_City()
; 1 GetToken()
; 2 MinOn()
; 1 Exist()
; 1 TokenStr()
; 3 GetX()
; 5 GetY()
; 2 KInkey()
; 1 MInkey()
; 6 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : AC
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 15 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------